namespace Lzfy_Refund_Service.Models
{
    /// <summary>
    /// 微信推送配置
    /// </summary>
    public class WeChatConfiguration
    {
        /// <summary>
        /// 配置节名称
        /// </summary>
        public const string SectionName = "WeChat";

        /// <summary>
        /// 合作伙伴ID
        /// </summary>
        public string PartnerId { get; set; } = "lzsfybjy73";

        /// <summary>
        /// 服务代码
        /// </summary>
        public string ServiceCode { get; set; } = "SendMessageNotice";

        /// <summary>
        /// 推送渠道
        /// </summary>
        public string Channel { get; set; } = "WX";

        /// <summary>
        /// 微信推送API地址
        /// </summary>
        public string ApiUrl { get; set; } = string.Empty;

        /// <summary>
        /// 请求超时时间（秒）
        /// </summary>
        public int TimeoutSeconds { get; set; } = 30;

        /// <summary>
        /// 是否启用微信推送
        /// </summary>
        public bool Enabled { get; set; } = true;

        /// <summary>
        /// 重试次数
        /// </summary>
        public int RetryCount { get; set; } = 3;

        /// <summary>
        /// 重试间隔（毫秒）
        /// </summary>
        public int RetryDelayMs { get; set; } = 1000;
    }

    /// <summary>
    /// 微信消息模板配置
    /// </summary>
    public class WeChatMessageTemplates
    {
        /// <summary>
        /// 退费申请提交成功消息模板
        /// </summary>
        public class RefundSubmitted
        {
            public const string PersonalFirst = "您的退费申请提交成功";
            public const string PersonalSecond = "等待审核";
            public const int MsgType = 4;
        }

        /// <summary>
        /// 退费审核通过消息模板
        /// </summary>
        public class RefundApproved
        {
            public const string PersonalFirst = "您的退费申请审核通过";
            public const string PersonalSecond = "费用将在10-15个工作日内退至您的银行卡";
            public const int MsgType = 4;
        }

        /// <summary>
        /// 退费审核拒绝消息模板
        /// </summary>
        public class RefundRejected
        {
            public const string PersonalFirst = "退费申请审核未通过,请重新提交或联系客服";
            public const string PersonalSecond = "客服联系电话：0772-2803395/2205187";
            public const int MsgType = 4;
        }
    }
}